kindでKubernetesクラスターを作成してArgo CDのGetting Startedをやってみる
「Argo CDをローカルで手軽に試してみたい」
今回はkindを使って、ローカルにkubernetesクラスターを作成して、Argo CDのGetting Startedをやってみます。
EKSで試してみたい場合は、以下の記事はがおすすめです。
やってみた
kindでKubernetesクラスターを作成する
kindはbrewでインストールできます。
$ brew install kind
kindでクラスターを作成します。
$ kind create cluster
しばらく待つと、クラスターが作成されたことを確認できます。
$ kind get clusters kind $ kubectl config get-contexts kind-kind $ kubectl get nodes NAME STATUS ROLES AGE VERSION kind-control-plane Ready control-plane 8m12s v1.25.3
Argo CDをインストールする
Argo CD用のnamaspace
作成後、マニフェストを適用してArgo CDをインストールします。
$ kubectl create namespace argocd $ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Argo CDサーバーへのアクセス
brewでArgo CDのCLIをインストールしておきます。
$ brew install argocd
Argo CDサーバーへのアクセス方法はいくつかありますが、今回はポートフォワードで接続します。
$ kubectl port-forward svc/argocd-server -n argocd 8080:443
ブラウザで以下にアクセスします。
https://localhost:8080/
ログイン画面が確認できました。
パスワードは以下のコマンドで確認できます。
$ argocd admin initial-password -n argocd
ユーザー名とパスワードを入力してログインします。
- 初期ユーザー名: admin
- 初期パスワード: コマンドで確認した初期パスワード
サンプルアプリケーションのデプロイ
サンプルアプリケーションをデプロイしてみましょう。
項目 | 設定値 |
---|---|
Application Name | guestbook |
Project Name | default |
Repository URL | https://github.com/argoproj/argocd-example-apps.git |
Path | guestbook |
Cluster URL | https://kubernetes.default.svc |
Namespace | default |
アプリケーションを作成できると、ステータスはOutOfSync
になっていると思います。
一通り設定が終わったら、SYNC
を実行してアプリケーションをデプロイします。
ステータスがSynced
になりアプリケーションをデプロイできました。
GUI上でGithubリポジトリとの差分はどのように表示されるのか
forkしたサンプルアプリケーションリポジトリを使って、Argo CDのアプリケーションを作成して試してみました。
Github上でreplicas
を2に変更してみます。
しばらく待つか、Refresh
ボタンを押すとステータスがOutOfSync
になっていることが確認できます。
Argo CDの画面上から、APP DIFF
を見てみると差分を確認できます。
差分の内容は想定通りのため、SYNC
を実行します。
replicas
が増えたことをArgo CDの画面上からも確認できます。
HISTORY AND ROLLBACK
から履歴を確認できます。
また、特定のデプロイを再デプロイしたりロールバックすることもできます。
後片付け
検証が終わったら以下のコマンドで作成したクラスターを削除します。
$ kind delete cluster